home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 05 - 1989 / 05.08 Aug 89 / Jorg's Code / mat_mul_pas.p < prev    next >
Encoding:
Text File  |  1989-06-22  |  792 b   |  54 lines  |  [TEXT/MPS ]

  1. {$S Main}
  2. {$R-}
  3. unit matmul;
  4.  
  5. interface
  6.  
  7. type matrix = array [1..50,1..50] of extended;
  8.  
  9. procedure mat_mul_pas
  10.     (var c : matrix; nc : longint;
  11.      var a : matrix; na : longint;
  12.      var b : matrix; nb : longint;
  13.      n1,n2,n3:longint);
  14.  
  15. procedure mat_mul_pas_opt
  16.     (var c : matrix; nc : longint;
  17.      var a : matrix; na : longint;
  18.      var b : matrix; nb : longint;
  19.      n1,n2,n3:longint);
  20.  
  21. implementation
  22.  
  23. procedure mat_mul_pas;
  24.  
  25. var
  26.     i,j,k:integer;
  27.  
  28. begin
  29.     for k:=1 to n3 do
  30.         for i:=1 to n1 do
  31.             begin
  32.             c[i,k] := 0;
  33.             for j:=1 to n2 do
  34.                 c[i,k] := c[i,k]+a[i,j]*b[j,k];
  35.             end;
  36. end;
  37.  
  38. procedure mat_mul_pas_opt;
  39.  
  40. var
  41.     i,j,k:integer; sum:extended;
  42.  
  43. begin
  44.     for k:=1 to n3 do
  45.         for i:=1 to n1 do
  46.             begin
  47.             sum := 0;
  48.             for j:=1 to n2 do
  49.                 sum := sum+a[i,j]*b[j,k];
  50.             c[i,k] := sum;
  51.             end;
  52. end;
  53.  
  54. end.